package gamedo

type S副本数据 struct {
	// @alias 状态
	Z状态 F副本状态 `alias:"状态"`
	// 记录最后完成的挂卡
	// @alias 完成关卡
	W完成关卡 int `alias:"完成关卡"`
	// @alias 完成关卡数
	W完成关卡数 int `alias:"完成关卡数"`
	// 开始关卡后设置，结束关卡需要进行判断是否一致
	// @alias 当前关卡
	D当前关卡 int `alias:"当前关卡"`
	// 最后一次闯关开始的时间戳
	// @alias 开始时间
	K开始时间 int `alias:"开始时间"`
	// 最后一次闯关结束的时间戳
	// @alias 结束时间
	J结束时间 int `alias:"结束时间"`
	// @alias 关卡数据
	G关卡数据 map[string]*S副本关卡数据 `alias:"关卡数据"`
	// 用于优化内存占用和数据传输大小，少于过期关卡的数据将被清除
	// 例如前100个关卡已经完成并领取了奖励，则过期关卡为100
	// @alias 过期关卡
	Y过期关卡 int `alias:"过期关卡"`
	// 已闯关的次数
	// @alias 闯关次数
	C闯关次数 int `alias:"闯关次数"`
	// 场景：会员的提供加成
	// @alias 闯关次数加成
	C闯关次数加成 int `alias:"闯关次数加成"`
	// @alias 刷新时间
	S刷新时间 int `alias:"刷新时间"`
	// 已刷新的次数
	// @alias 刷新次数
	S刷新次数 int `alias:"刷新次数"`
	// 场景：会员的提供加成
	// @alias 刷新次数加成
	S刷新次数加成 int `alias:"刷新次数加成"`
	// @alias 领取次数
	L领取次数 int `alias:"领取次数"`
	// @alias 版本
	B版本 int `alias:"版本"`
}

type S副本关卡数据 struct {
	// 关卡->副本状态
	// @alias 关卡状态
	G关卡状态 F副本关卡状态 `alias:"关卡状态"`
	// 当[标旗_允许重复闯关]开启后，用于判断是否已经领取
	// 关卡->领取次数
	// @alias 领取次数
	L领取次数 int `alias:"领取次数"`
	// 当[标旗_记录闯关时长]开启后，用于判断是否已经领取
	// 关卡->闯关时长
	// @alias 闯关时长
	G闯关时长 int `alias:"闯关时长"`
	// 用于记录单位的血量
	// @alias 单位血量
	D单位血量 map[string]int `alias:"单位血量"`
	// @alias 击杀数量
	J击杀数量 map[string]int `alias:"击杀数量"`
}

// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type F副本状态 int

const (
	F副本状态_未知 F副本状态 = iota
	F副本状态_已开启
	F副本状态_已完成
)

// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type F副本关卡状态 int

const (
	F副本关卡状态_未知 F副本关卡状态 = iota
	F副本关卡状态_已开始
	F副本关卡状态_已完成
)
